2023/12/231915字符

String

模板字符串

let name = 'bozai', age = 18;
let str = `my name is ${name}, age: ${age}`;  // 连接字符串  es6 还规定字符串可随意换行
console.log(str);  //--> my name is bozai, age: 18

标记

myTag`my name is ${name}, age: ${age}`;
function myTag (parts, str1, str2) {
    console.log(parts);  //--> ["my name is ", ", age: ", ""]
    console.log(str1, str2);  //--> "bozai" 18
}

返回字符串的真实字符长度

'𠮷'.length //--> 2

function getLengthOfCodePoint (str = '') {
    let len = 0;
    for (let i = 0; i < str.length; i++) {
        if (str.codePointAt(i) > 0xffff) {
            i ++;
        }
        len ++;
    }
    return len;
}

去除空格

let str = ' hello ';
str.trim();  //--> 'hello'
str.trimStart();  //--> 'hello '
str.trimEnd();  //--> ' hello'

补全

'1'.padStart(2, '0');  //--> '01'
'1'.padEnd(2, '0');  //--> '10'

includes() 包括

let str = 'img.png';

es5 查找字符方法

if(str.indexOf('img') !== -1){
    console.log(true);  //--> true
}else{
    console.log(false);
}

es6 查找字符方法

str.includes('img', 0);  //--> true
str.search(/\./);  //--> 3

navigator.userAgent.includes('Chrome') ? true : false;  //--> true  判断浏览器是否是 Chrome

str.startsWith('img', 0);  //--> true  判断字符以__开头
str.endsWith('.png');  //--> true  判断字符以__结尾

str.repeat(3);  //--> img.pngimg.pngimg.png  重复

'./'.padStart(5, str);  //--> img./  在字符之后添加字符并剪切后面字符
'./'.padEnd(5, str);  //--> ./img  在字符之前添加字符并剪切后面字符

ascll 码转换 (ES5)

String.fromCodePoint(102,121,107,106);  //--> fykj
'A'.charCodeAt(); //--> 65